home *** CD-ROM | disk | FTP | other *** search
/ Sprite 1984 - 1993 / Sprite 1984 - 1993.iso / src / cmds / gdb-4.5 / dist / gdb / tm-sun3.h < prev    next >
Encoding:
C/C++ Source or Header  |  1992-04-07  |  2.3 KB  |  76 lines

  1. /* Parameters for execution on a Sun, for GDB, the GNU debugger.
  2.    Copyright (C) 1986, 1987, 1989, 1992 Free Software Foundation, Inc.
  3.  
  4. This file is part of GDB.
  5.  
  6. This program is free software; you can redistribute it and/or modify
  7. it under the terms of the GNU General Public License as published by
  8. the Free Software Foundation; either version 2 of the License, or
  9. (at your option) any later version.
  10.  
  11. This program is distributed in the hope that it will be useful,
  12. but WITHOUT ANY WARRANTY; without even the implied warranty of
  13. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  14. GNU General Public License for more details.
  15.  
  16. You should have received a copy of the GNU General Public License
  17. along with this program; if not, write to the Free Software
  18. Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.  */
  19.  
  20. #define HAVE_68881
  21.  
  22. /* Let native-versus-cross support code know we are targeting sun3,
  23.    and modify registers to include sun3 fpustate register.  */
  24.  
  25. #define GDB_TARGET_IS_SUN3 1
  26.  
  27. /* Define this if the C compiler puts an underscore at the front
  28.    of external names before giving them to the linker.  */
  29.  
  30. #define NAMES_HAVE_UNDERSCORE
  31.  
  32. /* Address of the end of stack space.  We get this from the system
  33.    include files. */
  34.  
  35. #include <sys/types.h>
  36. #include <machine/vmparam.h>
  37. #define STACK_END_ADDR USRSTACK
  38.  
  39. #include "tm-68k.h"
  40.  
  41. /* Offsets (in target ints) into jmp_buf.  Not defined by Sun, but at least
  42.    documented in a comment in <machine/setjmp.h>! */
  43.  
  44. #define JB_ELEMENT_SIZE 4
  45.  
  46. #define JB_ONSSTACK 0
  47. #define JB_SIGMASK 1
  48. #define JB_SP 2
  49. #define JB_PC 3
  50. #define JB_PSL 4
  51. #define JB_D2 5
  52. #define JB_D3 6
  53. #define JB_D4 7
  54. #define JB_D5 8
  55. #define JB_D6 9
  56. #define JB_D7 10
  57. #define JB_A2 11
  58. #define JB_A3 12
  59. #define JB_A4 13
  60. #define JB_A5 14
  61. #define JB_A6 15
  62.  
  63. /* Figure out where the longjmp will land.  Slurp the args out of the stack.
  64.    We expect the first arg to be a pointer to the jmp_buf structure from which
  65.    we extract the pc (JB_PC) that we will land at.  The pc is copied into ADDR.
  66.    This routine returns true on success */
  67.  
  68. #define GET_LONGJMP_TARGET(ADDR) get_longjmp_target(ADDR)
  69.  
  70. #undef SAVED_PC_AFTER_CALL
  71.  
  72. extern CORE_ADDR sun3_saved_pc_after_call PARAMS ((struct frame_info *));
  73.  
  74. #define SAVED_PC_AFTER_CALL(frame) \
  75.   sun3_saved_pc_after_call(frame)
  76.